Method and apparatus for sending private messages within a single electronic message

ABSTRACT

A method, system, and program for use in a data processing system for sending private messages from a single electronic message. A plurality of recipients is identified for an electronic message. A number of different sections are designated within the electronic message for separate receipt by each of a number of recipients within the plurality of recipients. Responsive to an indication to send the electronic message, an electronic message is automatically generated for each of the number of recipients, wherein the message of a given recipient within the number of recipients excludes sections within the number of sections designated for other recipients within the number of recipients.

BACKGROUND OF THE INVENTION

1. Technical Field

The present invention relates to an improved data processing system andin particular to a method for sending messages. Still more particularly,the present invention relates to a method and apparatus for sendingprivate messages to selected recipients from a single message.

2. Description of Related Art

The Internet, also referred to as an “internetwork”, is a set ofcomputer networks, possibly dissimilar, joined together by means ofgateways that handle data transfer and the conversion of messages fromthe sending network to the protocols used by the receiving network (withpackets if necessary). When capitalized, the term “Internet” refers tothe collection of networks and gateways that use the TCP/IP suite ofprotocols.

The Internet has become a cultural fixture as a source of information,entertainment, and communications. Many businesses are creating Internetsites as an integral part of their marketing efforts, informingconsumers of the products or services offered by the business orproviding other information seeking to engender brand loyalty. Manyfederal, state, and local government agencies are also employingInternet sites for informational purposes, particularly agencies whichmust interact with virtually all segments of society such as theInternal Revenue Service and secretaries of state. Providinginformational guides and/or searchable databases of online publicrecords may reduce operating costs. Further, the Internet is becomingincreasingly popular as a medium for commercial transactions.

In addition to being a source of information, the Internet also providesa communications medium. The Internet has become the most popularcomputer network used by consumers and businesses to send and receiveelectronic mail, also referred to as “e-mail”. The Internet allows usersto readily send and receive e-mail to and from computers around theworld. Each user typically has a unique Internet e-mail address (e.g.,steve@ibm.com). A user with an e-mail account and a computer capable ofconnecting to the Internet can easily send and receive e-mail over thenetwork.

E-mail allows a person to quickly and easily send textual messages andother information, such as, for example, pictures, sound recordings, andformatted documents electronically to other e-mail users anywhere in theworld. An e-mail user will typically create a message using an e-mailprogram running on a computer connected to a computer network through amodem. The message will include an e-mail “address” for the intendedrecipient. When the user has finished entering the message, the user may“send” the message to the intended recipient. The e-mail program thenelectronically transmits the message over the computer network. Therecipient, using an e-mail program running on the recipient's computer,can then “receive” the message.

A user may send messages to multiple recipients through various fields,such as “TO:” and “CC:”, in an e-mail program. When composing a messagefor a large group or recipients, the user may need to send a privatemessage to a recipient within the group of recipients. In such aninstance, the user generates a message for recipients within the groupother than those that are to receive the private message. Then, the usergenerates another message for the recipient that is to receive a privatemessage. If a second recipient within the group of recipients is toreceive another private message, the user must generate yet anothermessage. Such a process can be tedious and time consuming depending onthe number of recipients that are to receive private messages.

Therefore, it would be advantageous to have an improved method andapparatus for sending private messages in an e-mail message.

SUMMARY OF THE INVENTION

The present invention provides a method, system, and program for usewithin a data processing system for sending messages. A plurality ofrecipients is identified for an electronic message. A number ofdifferent sections are designated within the electronic message forseparate receipt by each of a number of recipients within the pluralityof recipients. Responsive to an indication to send the electronicmessage, an electronic message is automatically generated for each ofthe number of recipients, wherein the message of a given recipientwithin the number of recipients excludes sections within the number ofsections designated for other recipients within the number ofrecipients, i.e., involves only those sections within the number ofsections identified for the given recipients.

BRIEF DESCRIPTION OF THE DRAWINGS

The novel features believed characteristic of the invention are setforth in the appended claims. The invention itself, however, as well asa preferred mode of use, further objectives and advantages thereof, willbest be understood by reference to the following detailed description ofan illustrative embodiment when read in conjunction with theaccompanying drawings, wherein:

FIG. 1 depicts a pictorial representation of a distributed dataprocessing system in which the present invention may be implemented;

FIG. 2 is a block diagram depicting a data processing system that may beimplemented as a server in accordance with a preferred embodiment of thepresent invention;

FIG. 3 is a block diagram illustrating a data processing system in whichthe present invention may be implemented;

FIG. 4 is a block diagram of an e-mail program depicted in accordancewith a preferred embodiment of the present invention;

FIG. 5 is a diagram illustrating functions for processing e-mailmessages depicted in accordance with a preferred embodiment of thepresent invention;

FIGS. 6A and 6B are examples of private messages processed depicted inaccordance with a preferred embodiment of the present invention;

FIGS. 7A and 7B are additional examples of private message processingdepicted in accordance with a preferred embodiment of the presentinvention;

FIGS. 8A-8D are examples of messages depicted in accordance with apreferred embodiment of the present invention;

FIG. 9 is a flowchart of a process for editing and designating objectsdepicted in accordance with a preferred embodiment of the presentinvention; and

FIG. 10 is a flowchart of a process used to generate messages forrecipients from a single message depicted in accordance with a preferredembodiment of the present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

With reference now to the figures, FIG. 1 depicts a pictorialrepresentation of a distributed data processing system in which thepresent invention may be implemented. Distributed data processing system100 is a network of computers in which the present invention may beimplemented. Distributed data processing system 100 contains a network102, which is the medium used to provide communications links betweenvarious devices and computers connected together within distributed dataprocessing system 100. Network 102 may include permanent connections,such as wire or fiber optic cables, or temporary connections madethrough telephone connections.

In the depicted example, a server 104 is connected to network 102 alongwith storage unit 106. In addition, clients 108, 110, and 112 also areconnected to a network 102. These clients 108, 110, and 112 may be, forexample, personal computers or network computers. For purposes of thisapplication, a network computer is any computer, coupled to a network,which receives a program or other application from another computercoupled to the network. In the depicted example, server 104 providesdata, such as boot files, operating system images, and applications toclients 108-112. Clients 108, 110, and 112 are clients to server 104. Inthe depicted examples, server 104 may contain an electronic mail systemfrom which clients 108, 110, and 112 send and receive e-mail messagesthrough e-mail programs or applications located on the clients.Distributed data processing system 100 may include additional servers,clients, and other devices not shown. For example, messages may be sentand received between server 104 and other servers (not shown) todistribute and receive messages from other clients (not shown).

In the depicted example, distributed data processing system 100 is theInternet with network 102 representing a worldwide collection ofnetworks and gateways that use the TCP/IP suite of protocols tocommunicate with one another. At the heart of the Internet is a backboneof high-speed data communication lines between major nodes or hostcomputers, consisting of thousands of commercial, government,educational and other computer systems that route data and messages. Ofcourse, distributed data processing system 100 also may be implementedas a number of different types of networks, such as for example, anintranet, a local area network (LAN), or a wide area network (WAN). FIG.1 is intended as an example, and not as an architectural limitation forthe present invention.

Referring to FIG. 2, a block diagram depicts a data processing systemthat may be implemented as a server, such as server 104 in FIG. 1, inaccordance with a preferred embodiment of the present invention. In thedepicted examples, data processing system 200 is used as an electronicmail message server providing service to a number of clients. Dataprocessing system 200 may be a symmetric multiprocessor (SMP) systemincluding a plurality of processors 202 and 204 connected to system bus206. Alternatively, a single processor system may be employed. Alsoconnected to system bus 206 is memory controller/cache 208, whichprovides an interface to local memory 209. I/O bus bridge 210 isconnected to system bus 206 and provides an interface to I/O bus 212.Memory controller/cache 208 and I/O bus bridge 210 may be integrated asdepicted.

Peripheral component interconnect (PCI) bus bridge 214 connected to I/Obus 212 provides an interface to PCI local bus 216. A number of modemsmay be connected to PCI bus 216. Typical PCI bus implementations willsupport four PCI expansion slots or add-in connectors. Communicationslinks to network computers 108-112 in FIG. 1 may be provided throughmodem 218 and network adapter 220 connected to PCI local bus 216 throughadd-in boards.

Additional PCI bus bridges 222 and 224 provide interfaces for additionalPCI buses 226 and 228, from which additional modems or network adaptersmay be supported. In this manner, server 200 allows connections tomultiple network computers. A memory-mapped graphics adapter 230 andhard disk 232 may also be connected to I/O bus 212 as depicted, eitherdirectly or indirectly.

Those of ordinary skill in the art will appreciate that the hardwaredepicted in FIG. 2 may vary. For example, other peripheral devices, suchas optical disk drives and the like, also may be used in addition to orin place of the hardware depicted. The depicted example is not meant toimply architectural limitations with respect to the present invention.

The data processing system depicted in FIG. 2 may be, for example, anIBM RISC/System 6000 system, a product of International BusinessMachines Corporation in Armonk, N.Y., running the Advanced InteractiveExecutive (AIX) operating system.

With reference now to FIG. 3, a block diagram illustrates a dataprocessing system in which the present invention may be implemented.Data processing system 300 is an example of a client computer. In theseexamples, data processing system 300 may include any mail program orapplication for generating, sending, and receiving messages. Dataprocessing system 300 employs a peripheral component interconnect (PCI)local bus architecture. Although the depicted example employs a PCI bus,other bus architectures such as Micro Channel and ISA may be used.Processor 302 and main memory 304 are connected to PCI local bus 306through PCI bridge 308. PCI bridge 308 also may include an integratedmemory controller and cache memory for processor 302. Additionalconnections to PCI local bus 306 may be made through direct componentinterconnection or through add-in boards. In the depicted example, localarea network (LAN) adapter 310, SCSI host bus adapter 312, and expansionbus interface 314 are connected to PCI local bus 306 by direct componentconnection. In contrast, audio adapter 316, graphics adapter 318, andaudio/video adapter 319 are connected to PCI local bus 306 by add-inboards inserted into expansion slots. Expansion bus interface 314provides a connection for a keyboard and mouse adapter 320, modem 322,and additional memory 324. SCSI host bus adapter 312 provides aconnection for hard disk drive 326, tape drive 328, and CD-ROM drive330. Typical PCI local bus implementations will support three or fourPCI expansion slots or add-in connectors.

An operating system runs on processor 302 and is used to coordinate andprovide control of various components within data processing system 300in FIG. 3. The operating system may be a commercially availableoperating system such as OS/2, which is available from InternationalBusiness Machines Corporation. “OS/2” is a trademark of InternationalBusiness Machines Corporation. An object oriented programming systemsuch as Java may run in conjunction with the operating system andprovides calls to the operating system from Java programs orapplications executing on data processing system 300. “Java” is atrademark of Sun Microsystems, Inc. Instructions for the operatingsystem, the object-oriented operating system, and applications orprograms are located on storage devices, such as hard disk drive 326,and may be loaded into main memory 304 for execution by processor 302.

Those of ordinary skill in the art will appreciate that the hardware inFIG. 3 may vary depending on the implementation. Other internal hardwareor peripheral devices, such as flash ROM (or equivalent nonvolatilememory) or optical disk drives and the like, may be used in addition toor in place of the hardware depicted in FIG. 3. Also, the processes ofthe present invention may be applied to a multiprocessor data processingsystem.

For example, data processing system 300, if optionally configured as anetwork computer, may not include SCSI host bus adapter 312, hard diskdrive 326, tape drive 328, and CD-ROM 330, as noted by dotted line 332in FIG. 3 denoting optional inclusion. In that case, the computer, to beproperly called a client computer, must include some type of networkcommunication interface, such as LAN adapter 310, modem 322, or thelike. As another example, data processing system 300 may be astand-alone system configured to be bootable without relying on sometype of network communication interface, whether or not data processingsystem 300 comprises some type of network communication interface. As afurther example, data processing system 300 may be a Personal DigitalAssistant (PDA) device which is configured with ROM and/or flash ROM inorder to provide non-volatile memory for storing operating system filesand/or user-generated data.

The depicted example in FIG. 3 and above-described examples are notmeant to imply architectural limitations.

The present invention provides a method, apparatus, and instructions forcustomizing and addressing multiple messages within a single messageediting session. At any time while composing a message, a user mayaddress the message by entering individual recipients, or address listnames in the message header using the message editor. The user maydefine a conditionally addressable message object through a number ofmechanisms, such as, for example, setting color, font size, or fontstyle, or any combination thereof. The mechanism to define a messageobject is called an object style. The depicted examples are illustratedusing color as the object style. In the case in which color is used,each particular color may be associated with a particular address thatis to receive the content marked with the color. The match betweenaddress color and message object color is used to determine whichrecipients receive which message objects. In the depicted example,uncolored text (black), hereafter referred to as base message text, issent to all recipients by default.

Colored text in drawings, tables, images, and container-based documentsare unaffected by the conditional message object selection. If colortext has no effect, an overall style may be set to select drawings,tables, images, and container based documents to designate thedocuments. Content other than text also may be marked for sending toparticular recipients. For example, attachments for documents or imagesand images within the message also may be selected for sending toparticular recipients by marking the attachments or images with a colorassociated with the intended recipients.

To address or send a portion of a message, also referred to as a“message object”, to a particular set of recipients, the user changesthe color, font size, or style of these recipient names in the addressfields of the message header to match message object color, font size,or style. In addition, any predefined address list may be opened via thedistribution list expand command, such as distribution list expandcommand 504 in FIG. 5, to individually set the object style forindividual members of the address list. The list may be presented, forexample, via a pop-menu. Subsequent to the execution of the command, thecommand sets the address list object style to the object style of thelast member of the address list that was changed. This change indicatesthat at least one address within the address list is targeted for aprivate message.

When the mail message is sent, different messages are sent to recipientswith differently colored addresses. The recipients only see the basemessage text plus any message objects with the same colors as theiraddresses. Thus, a blue recipient receives the black base message text,plus any blue message objects, while a recipient whose name appears onlyin black in the address list receives only the base (black text)message. In the depicted examples, a recipient whose name appears in ablack, bold font will receive the base text and all message objects.

When a mail message is received, all recipients in the To: and CC: listare shown, in the original colors selected. Recipients in the BCC: listare not shown, as is customary. Base text and conditionally addressedmessage object appears in color in received messages. Private messageobjects not addressed to the receiver are not included in the message atall, and as a result can never be viewed by someone to whom the messagewas not sent.

As a visual convenience, either sender or receiver may temporarily viewmessage objects all in base text format (Arial black normal, by default)for ease of reading or turning colored message object on and off atwill. The same function works for other object styles. For example, ifmessage objects are in italics, then this command removes italicseverywhere, replacing it with base text format. In addition either thesender or receiver may temporarily view the base and message objects forany addressed color by simply selecting an option on a menu. Any senderor resender may remove all message object definitions for resending, ormay forward or edit message object color. The default should be to leavemessage objects colored. As mentioned above, other object styles otherthan color may be used. For example, font type or font size may be used.Also, a combination of color and font could be the object style.

With reference now to FIG. 4, a block diagram of an e-mail program isdepicted in accordance with a preferred embodiment of the presentinvention. E-mail program 400 in this example includes a messageprocessing unit 402 which processes messages, such as message 404,created and received by the user. Message processing unit 402 may beimplemented by using currently available mail systems, such as LotusNotes or CC Mail, which are available from Lotus DevelopmentCorporation. If message 404 is a message received by message processingunit 402, the message may be stored in storage 406.

Mail program 400 also includes mail displayer 408, which is a graphicaluser interface (GUI) that is used to display message 404. If the useredits or generates a message, these functions may be accomplishedthrough mail editor 410. Further, mail program 400 includes aconditional message processing program (CMPP) 412, which includes theprocesses of the present invention used to generate content that is sentonly to a selected recipient.

Using mail editor 410, a user composes a message using styled addressesand styled text in the body of the message. The object style may be anytype of graphical indication, such as, for example, color, font type, orfont size. One style is reserved (black, bold) to designate any addresswhich should receive all message objects unconditionally. Mail editor410 may be any editor, which allows CMPP 412 to read the style of eachobject. In the depicted examples, an object in a message, also referredto as a “message object”, includes, for example, a paragraph, a heading,a drawing, a table, an image, or a container.

When the sender selects send or forward, CMPP 412 will read allrecipient lists, such as, for example, TO:, CC:, or BCC:. CMPP 412determines the number of unique recipient styles (i.e., fonts or colors)and creates outgoing message buffers 414-418 in memory or storage 406.An outgoing message buffer is created for each recipient style and isused to store content for a message for the particular recipient. CMPP412 assigns each unique recipient style to a single buffer. CMPP 412also makes a list of all recipients listed with that unique style andstores the list in an address list, such as address list 420 in outgoingmessage buffer 418. This address list 420 is used as the recipient listfor outgoing message buffer 418. The styles, TO:, CC:, or BCC:properties of the recipient are preserved in the message header inunique style field 422 in outgoing message buffer 418.

CMPP 412 then reads the message from top to bottom, obtaining the typeand style of each message object. If a message object has been marked asa global object, the message object is simply copied to all buffers forall recipients. Otherwise the object style of the object is read. If theobject style of the object does not match any unique address style, theobject is simply copied to all message buffers. If the style of theobject matches a unique address style, then that object is copied to thebuffer tagged with that style, preserving the object color, font, andstyle properties. When all message objects in the original message havebeen processed, CMPP 412 sends the content of each buffer as aseparately addressed message, using message processing unit 402. In thedepicted example the status of each mail message is processed by themessage processing unit 402, not CMPP 412. The original message may bestored in storage 406 for review by the user.

With reference now to FIG. 5, a diagram illustrating functions forprocessing e-mail messages is depicted in accordance with a preferredembodiment of the present invention. Table 500 illustrates variouscommands that may be employed by a user creating or editing a message.The commands illustrated in table 500 may be presented to a user in anumber of ways. The commands may be accessed through a pull down menu oras a pop-up menu. Further, selected keyboard strokes or mouse buttonsmay be used to invoke different commands.

Recipient style 502 is a command used to set the style color, font, andfont style of each recipient. When processed by a CMPP, such as CMPP 412in FIG. 4 the text in fields TO:, CC:, or BCC: should have an objectstyle set for each recipient to receive the selected text. This style isread by the CMPP at transmit time. Distribution list expand 504 is anoption used to support conditional message object. If included, thiscommand expands the distribution list into individual recipients, sothat their conditional object styles can be set.

Color text 506 is a command used to set the style of message body text.It has the same requirements as recipient style above. Preview option inbase text format 508 is a command that displays conditional text inblack, normal type. Similar preview options may be used for other objectstyles. Preview option message object select 510 is a command to allowthe user to preview a message for a single addressee. This optiondisplays the base black text, plus any one style color, font, style forthe addressee. This option simply redisplays the text, overriding anycolors, other than the color, font, or style for the addressee, in therecipient box with black in the text. Included drawings, images, tables,and container-based objects are not affected by this command.

Toggle conditional message object 512 is a command that turns messageobject processing off (default) or on for messages. Usually a forwardedor reply-all message would include all message objects in originalstyles. However, a user may want to edit and forward a message withmessage object processing turned on. This command will result inrecording the message object processing state off default, or on, foruse by the CMPP. If message object processing is off, the message issent without message object processing of any kind, and all recipientsand message styles remain the same. If it is turned on, then the messageobject styles can be edited, and subsequent message object processingmay generate multiple message texts, as usual.

Ignore object as message object 514 is a setup option used to determinewhich paragraph and object styles will not be processed as messageobjects. Normally, this option is set to include drawings, tables,images and containers. The list of ignored objects is simply recordedand made available to the conditional message processing program. Thedefault should include common object names for drawings, tables, imagesand containers which contain objects which cannot be handled by theCMPP.

The create matching message object command 516 may be selected afterhighlighting the text. Double clicking the addressee changes theproperties of the message object to match the addressee.

With reference now to FIGS. 6A and 6B, examples of private messagesprocessed are depicted in accordance with a preferred embodiment of thepresent invention. The message includes a base or default color (black)that that will be included to any recipient of the message. Portions ofthe message in other colors will only be sent to recipients associatedor designated by the color.

In FIG. 6A, message 600 is a message originated by a user, Julie Key,sent to a recipient, Vicki Wolf. Message 600 includes a message object602 which is a message object with distribution instructions. In thisexample, message object 602 is displayed in red. In FIG. 6B message 604is a forwarded message containing message 600 with message object 602being excluded. When Vicki Wolf forwards the message, none of therecipients have been designated with the color red to identify therecipients as ones to receive message object 602.

Turning next to FIGS. 7A and 7B, another example of private messageprocessing is depicted in accordance with a preferred embodiment of thepresent invention. In this example, user Julie Key composes a messagefor a staff distribution list with a copy to Vicki Wolf. Message 700 inFIG. 7A illustrates the message generated by the user and the messagethat would be viewed by Vicki Wolf. In this example, message object 702is displayed in red. This message object is a private message intendedonly for Vicki Wolf and not to other recipients. In FIG. 7B, message 704is an example of the message that would be received by other recipients.As can be seen, message object 702 is missing from message 704.

With reference to FIGS. 8A-8D, examples of messages are depicted inaccordance with a preferred embodiment of the present invention. In thisexample, the message is composed in a base or default color, such asblack. All recipients will receive the part of the message that is inthe base or default color. Changing the color in the message from thebase or default color to another color will result in the textcontaining the changed color being sent to a recipient or recipientsassociated with that color.

In FIG. 8A, message 800 is a message composed by user Julie Key in whichthe base text message is directed towards developers. Different messageobjects are directed towards recipients Vance Worthingly, DouglasBuster, and Mike Foster. Message object 802 in this example is in blueand designated for Vance Worthingly. Message object 804 is displayed inred and is designated for Douglas Buster and Mike Foster. Further, onthis example, message object 806 is displayed in bold and designated forthe sender Julie Key as placed in the BCC field 808. All of therecipients will receive the base message, but only the designatedrecipients will receive text objects that have been designated for them.

In FIG. 8B, message 810 is the message received by developers. Thedevelopers only receive the base message and none of the messageobjects. In FIG. 8C, message 812 is the message received by VanceWorthingly and includes message object 806 from message 800 composed byJulie Key. In FIG. 8D, Douglas Buster and Mike Foster both receivemessage 814, which includes message object 804. These two recipients,however, do not receive the other message objects because they have beendesignated for other recipients.

With reference now to FIG. 9, a flowchart of a process for editing anddesignating objects is depicted in accordance with a preferredembodiment of the present invention. The processes in FIG. 9 may beimplemented using a text editor. The process begins by receiving userinput (step 900). This user input may take various forms including, forexample, text or selection of text for an object. A determination ismade as to whether an object is to be created (step 902). If thedetermination is yes, the object is placed in a message and displayed(step 904) with the process returning to step 900. Otherwise, adetermination is made as to whether the user input is a designation of amessage object (step 906). This designation may be, for example, a groupof text, an image, or an attachment. In the depicted examples, thedesignation is made by changing the color of the message object from thebase or default color to another color.

If the user has designated a message object, the message object isdisplayed (step 908) with the process then returning to step 900.Otherwise, a determination is made as to whether the user input is tosend the message (step 910). If the user input is to send the message,the message is sent to the CMPP (step 912) with the process terminatingthereafter. Otherwise, the process returns to step 900.

With reference now to FIG. 10, a flowchart of the CMPP process used togenerate messages for recipients from a single message is depicted inaccordance with a preferred embodiment of the present invention. Theprocess in FIG. 10 is initiated when the user has completed composing orediting a message and has decided to send the message. The processbegins by identifying recipients (step 1000). Thereafter, styles areidentified (step 1002). This step may be accomplished in a number ofways. For example, the recipient fields may be parsed to determinewhether any of the recipients have been designated through a change incolor from a base or default color. The default or base style is alwayspresent and additional styles may be present depending on designationsmade by the user. Alternatively, a list of recipients may be checked todetermine if any of the recipients are unique recipients associated witha style that are to receive designated portions of the message.

Thereafter, an outgoing message buffer is created for each style (step1004). Each recipient for a message style is stored within a list in theoutgoing message buffer created for the style (step 1006). Theidentification of the style also is stored within the outgoing messagebuffer for the style. The message buffers are used to create a messagefor each unique addressee object style. These buffers also include asingle buffer for a default style for recipients that will only receivethe base message, identified by the base or default color.

A variable N is set equal to the number of unique styles identified(step 1008). Thereafter, the message is parsed for a message object toprocess (step 1010). A determination is then made as to whether anunprocessed message object is present (step 1012). If an unprocessedmessage object is present for processing, an index i is set equal tozero (step 1014). This index i is used as an index to identify stylesfor processing. The unprocessed message object is selected forprocessing (step 1016). Then, style i is compared to the style of themessage object (step 1018). A determination is then made as to whether amatch between style i and the message object is present (step 1020). Ifa match is present, the message object is copied to the buffer for stylei (step 1002) with the process then returning to step 1012.

If a match is not present, i is incremented by one (step 1024). Adetermination is then made as to whether i is equal to N (step 1026). Ifi is not equal to N, the process returns to step 1018. Otherwise, theprocess returns to step 1012 to determine whether additional messageobjects are present for processing. If no additional unprocessed messageobjects are present, the messages in the outgoing message buffers aresent to a message processing unit 402 for distribution to the recipients(step 1028) with the process terminating thereafter.

Thus, the present invention allows for associating a public message witha private message avoiding addressing two messages to each recipient,one public and one private; and avoiding having to cross reference theprivate message to the public message. It is important to note thatwhile the present invention has been described in the context of a fullyfunctioning data processing system, those of ordinary skill in the artwill appreciate that the processes of the present invention are capableof being distributed in the form of a computer readable medium ofinstructions and a variety of forms and that the present inventionapplies equally regardless of the particular type of signal bearingmedia actually used to carry out the distribution. Examples of computerreadable media include recordable-type media such a floppy disc, a harddisk drive, a RAM, and CD-ROMs and transmission-type media such asdigital and analog communications links.

The description of the present invention has been presented for purposesof illustration and description, but is not intended to be exhaustive orlimited to the invention in the form disclosed. Many modifications andvariations will be apparent to those of ordinary skill in the art. Theembodiment was chosen and described in order to best explain theprinciples of the invention, the practical application, and to enableothers of ordinary skill in the art to understand the invention forvarious embodiments with various modifications as are suited to theparticular use contemplated.

What is claimed is:
 1. A method in a data processing system for sendingmessages, the method comprising the data processing system implementedsteps of: identifying a plurality of recipients for a message;designating a portion of the message for receipt by a designatedrecipient within the plurality of recipients; and responsive to anindication to send the message, automatically generating a firstelectronic message for the plurality of recipients, wherein thedesignated portion of the message is absent from the first electronicmessage; and responsive to the indication to send the message,automatically generating a second message for the designated recipient,wherein the second message includes the designated portion of theelectronic message.
 2. The method of claim 1, wherein the step ofidentifying comprises receiving the plurality of recipients as an input.3. The method of claim 1, wherein the step of identifying comprisesidentifying the plurality of recipients previously designated for theelectronic message.
 4. The method of claim 1, wherein the portion of themessage is designated by setting a color for the portion of the message.5. The method of claim 1, wherein the message is text and wherein thetext of the message is in a first font and wherein the portion of themessage is designated by selecting a second font for the portion of themessage.
 6. The method of claim 1, wherein the message includes an imageand wherein the image is designated by highlighting the image.
 7. Amethod in a data processing system for sending messages, the methodcomprising the data processing system implemented steps of: identifyinga plurality of recipients for an electronic message; designating anumber of sections within the electronic message for receipt by a numberof recipients within the plurality of recipients; and responsive to anindication to send the electronic message, automatically generating anelectronic message for each of the number of recipients, wherein themessage of a recipient within the number of recipients excludes sectionswithin the number of sections designated for other recipients within thenumber of recipients.
 8. The method of claim 7, wherein the electronicmessage includes a base section that is included in the electronicmessage of each of the number of recipients.
 9. The method of claim 7,wherein the number of recipients is the plurality of recipients.
 10. Themethod of claim 7, wherein the designating step comprises: associatingeach section within the number of sections with a color associated witha recipient within the number of recipients.
 11. The method of claim 7,wherein the designating step comprises: associating each section withinthe number of sections with a font associated with a recipient withinthe number of recipients.
 12. The method of claim 7, wherein the numberof recipients is a portion of the plurality of recipients.
 13. A dataprocessing system for sending messages, the data processing systemcomprising: identifying means for identifying a plurality of recipientsfor a message; designating means for designating a portion of themessage for receipt by a designated recipient within the plurality ofrecipients; and first generating means, responsive to an indication tosend the message, for automatically generating a first electronicmessage for the plurality of recipients, wherein the designated portionof the message is absent from the first electronic message; and secondgenerating means, responsive to the indication to send the message, forautomatically generating a second message for the designated recipient,wherein the second message includes the designated portion of theelectronic message.
 14. The data processing system of claim 13, whereinthe identifying means comprises receiving the plurality of recipients asan input.
 15. The data processing system of claim 13, wherein theidentifying means comprises identifying the plurality of recipientspreviously designated for the electronic message.
 16. The dataprocessing system of claim 13, wherein the portion of the message isdesignated by setting a color for the portion of the message.
 17. Thedata processing system of claim 13, wherein the message is text andwherein the text of the message is in a first font and wherein theportion of the message is designated by selecting a second font for theportion of the message.
 18. The data processing system of claim 13,wherein the message includes an image and wherein the image isdesignated by highlighting the image.
 19. A data processing system forsending messages, the data processing system comprising: identifyingmeans for identifying a plurality of recipients for an electronicmessage; designating means for designating a number of sections withinthe electronic message for receipt by a number of recipients within theplurality of recipients; generating means, responsive to an indicationto send the electronic message, for automatically generating anelectronic message for each of the number of recipients, wherein themessage of a recipient within the number of recipients excludes sectionswithin the number of sections designated for other recipients within thenumber of recipients.
 20. The data processing system of claim 19,wherein the electronic message includes a base section that is includedin the electronic message of each of the number of recipients.
 21. Thedata processing system of claim 19, wherein the number of recipients isthe plurality of recipients.
 22. The data processing system of claim 19,wherein the designating means comprises: associating means forassociating each section within the number of sections with a colorassociated with a recipient within the number of recipients.
 23. Thedata processing system of claim 19, wherein the designating meanscomprises: associating means for associating each section within thenumber of sections with a font associated with a recipient within thenumber of recipients.
 24. The data processing system of claim 19,wherein the number of recipients is a portion of the plurality ofrecipients.
 25. A computer program product in a computer readable mediumfor sending messages, the computer program product comprising: firstinstructions for identifying a plurality of recipients for a message;second instructions for designating a portion of the message for receiptby a designated recipient within the plurality of recipients; and thirdinstructions, responsive to an indication to send the message, forautomatically generating a first electronic message for the plurality ofrecipients, wherein the designated portion of the message is absent fromthe first electronic message; and fourth instructions, responsive to theindication to send the message, for automatically generating a secondmessage for the designated recipient, wherein the second messageincludes all of the electronic message.
 26. A computer program productin a computer readable medium for sending messages, the computer programproduct comprising: first instructions for identifying a plurality ofrecipients for an electronic message; second instructions fordesignating a number of sections within the electronic message forreceipt by a number of recipients within the plurality of recipients;third instructions, responsive to an indication to send the electronicmessage, for automatically generating an electronic message for each ofthe number of recipients, wherein the message of a recipient within thenumber of recipients excludes sections within the number of sectionsdesignated for other recipients within the number of recipients.